#include "../include/task_queue.h"
int init_TaskQueue(pTaskQueue_t pQueue){
    bzero(pQueue,sizeof(TaskQueue_t));
    return 0;
} //初始化任务队列




int push_TaskQueue(pTaskQueue_t pQueue,pTaskNode_t pNew){
    if(pQueue->size ==0){
       pQueue->pHead=pNew;
       pQueue->pTail=pNew;
    } else{
        pQueue->pTail->pNext=pNew;
        pQueue->pTail=pNew;
    }
    ++pQueue->size;
    return 0;
} //入队

int get_TaskNode(pTaskQueue_t pQueue, pTaskNode_t *ppGet) {
    if (pQueue->pHead == NULL) {
        return -1;  // 队列为空
    }

    pTaskNode_t pcur = pQueue->pHead;
    pQueue->pHead = pcur->pNext;
    if (pQueue->pHead == NULL) {
        pQueue->pTail = NULL;  // 队列已空
    }

    pcur->pNext = NULL;
    pQueue->size--;
    *ppGet = pcur;  // ✅ 返回任务节点指针给调用者
    return 0;
}


//int task_queue_init(task_queue_t *p_queue){
//    bzero(p_queue,sizeof(task_queue_t));
//    return 0;
//}
//
//int en_queue(task_queue_t *p_queue,int netfd){
//    node_t *p_new = (node_t*)calloc(1,sizeof(node_t));
//    p_new->netfd = netfd;
//
//    if(p_queue->queue_size == 0){
//        p_queue->p_front = p_new;
//        p_queue->p_rear = p_new;
//    }
//    else{
//        p_queue->p_rear->p_next = p_new;
//        p_queue->p_rear = p_new;
//    }
//    ++p_queue->queue_size;
//    return 0;
//}
//
//int de_queue(task_queue_t *p_queue){
//    node_t *p_cur = p_queue->p_front;
//    p_queue->p_front = p_cur->p_next;
//    if(p_queue->queue_size == 1){
//        p_queue->p_rear =NULL;
//    }
//    free(p_cur);
//    --p_queue->queue_size;
//    return 0;
//}
